www.gusucode.com > 落叶冰点万能企业网站内容管理系统 V9.1 > 落叶冰点万能企业网站内容管理系统 V9.1\code\admin\adminJob\inc\script.js

    /***************************************************************************************
 * @Title        : JavaScript Document
 * @Description  : J-SYS-JAS JavaScript Document
 * @Author       : Toby.Win
 * @version      : 9.0
 * @Copyright    : (c)2003-2008 J-SYS All Rights Reserved
 ***************************************************************************************/
// 一般页面的常规变量定义
var All  = document.all;
var echo = document.write;
//删除用户输入的空格
function delnbsp(strs)
{
          var Finds=/ /g;
          strs=strs+strs.replace(Finds,"");
          return strs;
}
/**
 * 字串相关 String
 */
/** 修剪字串前后的空格 Base 20030820 */
function trim(s) {
  var count = s.length;
  var st    = 0;       // start
  var end   = count-1; // end

  if (s == "") return s;
  while (st < count) {
    if (s.charAt(st) == " ")
      st ++;
    else
      break;
  }
  while (end > st) {
    if (s.charAt(end) == " ")
      end --;
    else
      break;
  }
  return s.substring(st,end + 1);
}
//检查是否为正确的电话号码
function isTel(checkStr){
var checkOK = "0123456789-/,()";
var allValid = true;
if (checkStr.length<1)
 allValid=false;
  for (i=0;i<checkStr.length;i++)
  {
    ch=checkStr.charAt(i);
    for(j=0;j<checkOK.length;j++)
      if(ch==checkOK.charAt(j))
        break;
    if(j==checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  return allValid;
}
/**检查是否为有效字符串*/
function IsValidString(checkStr)
{
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
var allValid = true;
if (checkStr.length<1)
 allValid=false;
  for (i=0;i<checkStr.length;i++)
  {
    ch=checkStr.charAt(i);
    for(j=0;j<checkOK.length;j++)
      if(ch==checkOK.charAt(j))
        break;
    if(j==checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  return allValid;
}
/** 测量有汉字时的字串实际长度,其中一个汉字占两个字符 Base 20030820 */
function len(s){
	var length = 0;
	var tmpArr = s.split("");

	for (i = 0; i < tmpArr.length; i++){
		if (tmpArr[i].charCodeAt(0) < 299)
			length ++;
		else
			length += 2;
	}
	return length;
}
/** 是否为合法字串,指只包括字母,数字和_的字串 */
//edit by liujy2004-06-09 14:57:11 
function isStr(s) {
	if (s.length == 0) return false;
	var regu = "^[0-9A-Za-z_]*$";
	var re   = new RegExp(regu);
    //alert("ssss---s.search(re):"+s.search(re));
    s = s.replace('@', '');
    s = s.replace('.', '');
	if (s.search(re) != -1)
		return true;
	else
    {
        if (isEmail(s)) return true;
		else return false;
    }
}
/** 测试是否为空,或是空格 */
function isNvl(s) {
	return trim(s)==""?true:false;
}
//-------------------------------------------------------------------
/**
 * EMail相关
 */
/** 检测Email是否合法 */
function checkMail(s){
	if (s == "") return false;
	invalidChars = " /:"; // 不合法字符
    s = s.replace('(', '');
    s = s.replace(')', '');
    s = s.replace('(', '');
    s = s.replace(')', '');

	for (i=0; i < invalidChars.length; i++) {
		invalidChar = invalidChars.charAt(i);
		if (s.indexOf(invalidChar,0) != -1)
			return false;
	}
	atPos = s.indexOf("@", 1);
	if (atPos == -1)
		return false;
	periodPos = s.indexOf(".", atPos);
	if (periodPos == -1)
		return false;
	if (periodPos + 3 > s.length)
		return false;

	return true;
}
/** 检测Email是否合法 */
/*
Mender:Toby.Win
Date:2004-05-26
Reason:以前的表达式检查ss@ss.hk或z@ss.com;s@dd.net时不能通过
*/
function isEmail(s) {
	if (s.length > 100)	return false;
	if (s.indexOf("'")!=-1) return false;
    
    s = s.replace('(', '');
    s = s.replace(')', '');
    s = s.replace('(', '');
    s = s.replace(')', '');

	var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[_.0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+(.+)$";
	//{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT|cn|CN|cc|CC
	var re = new RegExp(regu);
	if (s.search(re) != -1)
		return true;
	else
		return false;
}

//-------------------------------------------------------------------
/**
 * 日期相关 Date
 */
/** 检测输入日期是否合法 kerne */
function checkDate(inputyear,inputmonth,inputday){
	var nowdate = new Date();
	var result;
	var varleap_year;
	result = true;
    //alert('### yy='+inputyear+'--mm='+inputmonth+'--dd='+inputday);
	if ((inputyear<1850) || (inputyear>2500) || (!isNum(inputyear))) result=false;
	if ((inputmonth<1) || (inputmonth>12) || (!isNum(inputmonth))) result=false;
	if ((inputday<1) || (inputmonth>31) || (!isNum(inputmonth))) result=false;
	if ((((parseInt(inputyear)%4) == 0) && ((parseInt(inputyear)%100) != 0)) || ((parseInt(inputyear)%400) == 0)) {
		if ((parseInt(inputmonth) == 2) && (parseInt(inputday) > 29)) result=false;
		switch(parseInt(inputmonth)){
			case 4:
				if (parseInt(inputday) > 30) {
					result = false;
					break;
				}
			case 6:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
			case 9:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
			case 11:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
		}
	} else {
		switch(parseInt(inputmonth)) {
			case 2:
				if (parseInt(inputday)>28) {
					result=false;
					break;
				}
			case 4:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
			case 6:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
			case 9:
				if (parseInt(inputday)>30) {
					result=false;
					break;
				}
			case 11:
			if (parseInt(inputday)>30) {
				result=false;
				break;
			}
		}
	}
    //alert('result--'+result);
	return result;
}
/**
 *取任意一个日期的当月最大天数,如8月有31天
 *@Param:合格的日期,如:new Date()
 *@Return:当月最大天数
 */
function getDays(dDate) 
{ 	
	var iYear = dDate.getFullYear(); 
	var iMonth = dDate.getMonth()-1; 
	var iDay = dDate.getDate(); 

	var dStart = new Date(iYear, iMonth, 1); 
	var dEnd = dateAdd("m", 1, dStart); 

	var iDays = dateDiff("d", dStart, dEnd); 
	var iStartDay = (dStart.getDay() + 1); 
	for (i = 1;  i < 43; i++) 
	{         
		if ((i < iStartDay) || ((i - iStartDay + 1) > iDays)) null; 
		else var dayScount=(i - iStartDay + 1); 
	} 
	return parseInt(dayScount); 
} 
/**
 *返回已添加指定时间间隔的日期
 *@Param:sInterval时间单位
 *@Param:iNumber要添加间隔数
 *@Param:dDate标准的日期格式
 *@Return:标准的日期格式
 */
function dateAdd(sInterval, iNumber, dDate) 
{ 
	dTemp = new Date(dDate); 
	if (dTemp == "NaN") dTemp = new Date(); 
	switch (sInterval) 
	{ 
		case "s" : 	//秒
			return new Date(Date.parse(dTemp) + (1000 * iNumber)); 
		case "n" : 	//分
			return new Date(Date.parse(dTemp) + (60000 * iNumber)); 
		case "h" : 	//小时
			return new Date(Date.parse(dTemp) + (3600000 * iNumber)); 
		case "d" : 	//天
			return new Date(Date.parse(dTemp) + (86400000 * iNumber)); 
		case "w" : 	//星期
			return new Date(Date.parse(dTemp) + ((86400000 * 7) * iNumber)); 
		case "m" : 	//月
			return new Date(dTemp.getFullYear(), (dTemp.getMonth()) + iNumber, dTemp.getDate()); 
		case "y" : 	//年
			return new Date((dTemp.getFullYear() + iNumber), dTemp.getMonth(), dTemp.getDate()); 
	} 
} 
/**
 *返回两个日期之间的时间间隔
 *@Param:sInterval时间单位
 *@Param:dStart开始时间
 *@Param:dEnd结束时间
 *@Return:间隔数
 */
function dateDiff(sInterval, dStart, dEnd) 
{ 
	dStart = new Date(dStart); 
	if (dStart == "NaN") dStart = new Date(); 
	dEnd = new Date(dEnd); 
	if (dEnd == "NaN") dEnd = new Date(); 
	switch (sInterval) 
	{ 
		case "s" : 	//秒
			return parseInt((Date.parse(dEnd) - Date.parse(dStart)) / 1000); 
		case "n" : 	//分
			return parseInt((Date.parse(dEnd) - Date.parse(dStart)) / 60000); 
		case "h" : 	//小时
			return parseInt((Date.parse(dEnd) - Date.parse(dStart)) / 3600000); 
		case "d" : 	//天
			iScrap = (Date.parse(dEnd) - Date.parse(dStart)) / 86400000 
			iScrap = iScrap + .1 
			return parseInt(iScrap); 
		case "w" : 	//星期
			return parseInt((Date.parse(dEnd) - Date.parse(dStart)) / (86400000 * 7)); 
		case "m" : 	//月
			return (dEnd.getMonth() - dStart.getMonth()); 
		case "y" : 	//年
			return (dEnd.getFullYear() - dStart.getFullYear()); 
	} 
}
//-------------------------------------------------------------------
/**
 * 电话号码相关
 */
/** 检查电话号码输入是否合法 */
function checkPhone(s){
	if (s.length < 1) return false;

	var tmpChar = "0123456789-/,()";

	for (i = 0; i < s.length; i++) {
		ch = s.charAt(i);
		for(j = 0; j < tmpChar.length; j++) {
			if (ch == tmpChar.charAt(j))
				break;
			if (j == tmpChar.length - 1)
				return false;
		}
	}
	return true;
}

/** 检查电话号码输入是否合法 Base 20030820 */
function isPhone(s) {
	var regu = "^(([(0-9)]+)|([0-9-]+))(([0-9-]+)|([0-9]+))([0-9])$";
	var re   = new RegExp(regu);
	if (s.search(re) != -1)
		return true;
	else
		return false;
}
//-------------------------------------------------------------------
/**
 * 选择相关 Form
 */
/**
 * 对Form的多选框进行处理
 * formName    表单名称
 * elementName 元素名称
 * mode        A-全选,R-反选
 * Base 20030821
 */
function selectAll(formName,elementName,mode){
	var elements = document.getElementById(formName).elements;

	for (var i=0; i<elements.length; i++){
		alert("Element["+ i +"]Name.indexOf:" + elements[i].name.indexOf(elementName));
		if ((elements[i].name).indexOf(elementName) != -1) {
			switch (mode){
				case "A": // 全选
					elements[i].checked = true;
					break
				case "R": // 反选
					if (elements[i].checked == true)
						elements[i].checked = false;
					else
						elements[i].checked = true;
					break;
			}
		}
	}
}
/** 检测文本框或多选、单选框是否为空 */
function isEmpty(o) {
	var tmpValue = o.value;
	if (o.type=="text") {
		if (tmpValue.length == 0)
			return true;
		else
			return false;
	} else if (o.type == "checkbox" || o.type == "radio")
		return !o.checked;
}
/** 为下拉框增加选项,约定使用";"分隔,每组名与值用":"隔开 Base 20030821*/
function addOptions(selectNm,szOptValue,selectedOptVal) {
	var oSelect = document.getElementById(selectNm);
	var aOpt    = szOptValue.split(";");

	for (var i=oSelect.options.length; i > 0; i--)
		oSelect.options[i] = null;
	for (var j=0; j<aOptVal.length; j++){
		var aOptTmp = aOpt[j].split(":");
		oSelect.options[j] = new Option(aOptTmp[0],aOptTmp[1]);
		if (oSelect.options[j].name == selectedOptVal)
			oSelect.options[j].selected = true;
	}
}

//-------------------------------------------------------------------
/**
 * 数字相关
 */
/** 是否为数字 Base 20030821 */
function isNum(s) {
	var regu = "^([0-9]*)$";
//	var regu = "^([0-9]*[.0-9])$"; // 小数测试
	var re   = new RegExp(regu);
	if (s.search(re) != -1)
		return true;
	else
		return false;
}
/** 是否为数字 Base 20030821 */
function isDigital(s) {
	var tmpChar = "0123456789";
	if (s.length < 1) return false;
	for (var i=0; i<s.length; i++){
		ch = s.charAt(i);
		for (var j=0; j<tmpChar.length; j++){
			if (ch == tmpChar.charAt(i))
				break;
			if (j == tmpChar.length)
				return false;
		}
	}
	return true;
}
//-------------------------------------------------------------------
/**
 * 选择单选框
 * Author:tempnc
 * Date:20031222
 */
function isChecked(inparam,val) {
	if(inparam == val)
	return "checked";
	else
	return "";
}
//根据varValue的值选中option Toby.Win Add 2004-06-28 17:16:35
function selectedOption(varObj,varValue)
{
	if(typeof(varObj)=="object")
	{
		for(var i=0;i<varObj.length;i++)
		{
			if(varObj.options[i].value==varValue)
			{
				varObj.selectedIndex=i;
				break;	
			}	
		}
	}
}
//输出数字式下拉菜单项 Toby.Win Add 2004-06-28 17:16:35
function writeOption(varFrom,varTo)
{
	for(var i=varFrom;i<=varTo;i++)
	{
		document.write("<option VALUE="+i+">"+i+"</option>");
	}
}